package com.citcc.api.utils;

import com.citcc.business.bean.PositionModel;

public class GpsAroundUtil {

    /**
     * 获取坐标附近某一距离范围内的点
     *
     * @param longitude 经度
     * @param latitude  纬度
     * @param radii     距离  /km
     */
    public static PositionModel getAroundLocation(double longitude, double latitude, double radii) {
        //double longitude=113.2489;
        //double latitude=35.227314;
        //先计算查询点的经纬度范围
        double r = 6378.137;//地球半径千米
        //double dis = 0.5;//0.5千米距离
        double dlng = 2 * Math.asin(Math.sin(radii / (2 * r)) / Math.cos(latitude * Math.PI / 180));
        dlng = dlng * 180 / Math.PI;//角度转为弧度
        double dlat = radii / r;
        dlat = dlat * 180 / Math.PI;
        double minLon = longitude - dlng;
        double maxLon = longitude + dlng;
        double minLat = latitude - dlat;
        double maxLat = latitude + dlat;
        return new PositionModel(minLon, maxLon, minLat, maxLat);

    }

}
